package com.example.analysis.service;

import com.example.analysis.entity.Course;
import com.example.analysis.entity.Student;
import com.example.analysis.utils.Response;
import com.example.analysis.vo.CourseScoreVo;
import com.example.analysis.vo.QuestScoreVo;

import java.util.List;

public interface CourseService {
    Response<Course> insert(Course aCourse);
    Response<Course> getById(String CourseId);
    Response<Course> getByName(String CourseName);

    /**
     * 获取整个课程集合
     * @return 课程集合
     */
    Response<List<Course>> getAll();

    /**
     * 通过班级获取网络图中的课程节点
     * @param classId 班级id
     * @return 课程集合
     */
    Response<List<Course>> getCourseData(String classId);

    /**
     * 通过课程id获取学生评教主成分分析相关数据
     * @param subId 课程id
     * @return 主成分分析数据集合
     */
    Response<QuestScoreVo> getQuestScore(String subId);

    /**
     * 通过课程id获取督导评教主成分分析相关数据
     * @param subId 课程id
     * @return 主成分分析数据集合
     */
    Response<QuestScoreVo> getQuestScoreSup(String subId);


    /**
     * 通过班级id获取课程成绩主成分分析相关数据
     * @param classId 班级id
     * @return 主成分分析数据集合
     */
    Response<QuestScoreVo> getQuestScoreCourse(String classId);
}
